package com.zhaoxi.springboot.restful.springbootrestful.result;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 欢迎来到牧码人教育，做Java我们是专业的
 *
 * @创建人： 牧码人教育-Gerry
 * @创建时间： 2020-4-26
 * @功能描述： 响应结果类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> {
    private Integer code;
    private String msg;
    private T data;

    public static <T> Result<T> SUCCESS(T data) {
        return new Result<>(Status.SUCCESS.getCode(), Status.SUCCESS.getValue(), data);
    }

    public static <T> Result<T> SUCCESS() {
        return new Result<>(Status.SUCCESS.getCode(), Status.SUCCESS.getValue(), null);
    }

    public static <T> Result<T> ERROR() {
        return new Result<>(Status.ERROR.getCode(), Status.ERROR.getValue(), null);
    }
}
